<?php

namespace app\admin\controller;

use app\common\controller\Backend;
use think\Db;
use think\Loader;
/**
 * 
 *
 * @icon fa fa-circle-o
 */
class Email extends Backend
{
    
    /**
     * Email模型对象
     * @var \app\admin\model\Email
     */
    protected $model = null;

    public function _initialize()
    {
        parent::_initialize();
        $this->model = new \app\admin\model\Email;
        $this->view->assign("stateList", $this->model->getStateList());
    }
     public function sendMail() {
      $id = input('ids');
      $email_data = Db::name('email')->where(['id'=>$id])->find();
      if(empty($email_data['get_email']))$this->error('收件人邮箱为空');

      if($email_data['send_status']==1)$this->error('已经寄出了，请勿重复操作');


      // 这个PHPMailer 就是之前从 Github上下载下来的那个项目
      vendor ('phpmailer.PHPMailer');
      $mail = new  \PHPMailer;
      //使用smtp鉴权方式发送邮件
      $mail->isSMTP();

      
      //smtp需要鉴权 这个必须是true
      $mail->SMTPAuth = true;
      // qq 邮箱的 smtp服务器地址，这里当然也可以写其他的 smtp服务器地址
      $mail->Host = 'smtp.qq.com';
      //smtp登录的账号 这里填入字符串格式的qq号即可
      $mail->Username = '1982211791@qq.com';
      // 这个就是之前得到的授权码，一共16位
      $mail->Password = 'sljeidmcgndmejba';

      $mail->CharSet  = "UTF-8"; //字符集
      $mail->Encoding = "base64"; //编码方式

      // 启用TLS加密，`ssl`也被接受
      $mail->SMTPSecure = 'ssl';
      // 连接的TCP端口
      // 163邮箱：465 ，qq邮箱：25
      $mail->Port = 465;
      $mail->setFrom('1982211791@qq.com', 'send_user_name');
      // $to 为收件人的邮箱地址，如果想一次性发送向多个邮箱地址，则只需要将下面这个方法多次调用即可
      $mail->addAddress($email_data['get_email']);
      // 该邮件的主题
      $mail->Subject = $email_data['title'];
      // 2是开启 ，0是关闭
      $mail->SMTPDebug = 0;  
      // 该邮件的正文内容
      $images_str = '';
      $images = explode(',', $email_data['images']);
      if(!empty($images)){
        
        foreach ($images as $key => $value) {
          $now = "<img src=".$value.">";
          $images_str .= $now;
        }
      }

      $video_str = '';

      $attachfile = explode(',', $email_data['attachfile']);
      if(!empty($attachfile)){
          foreach ($attachfile as $key => $value) {
            $now = "<video src=".$value." controls='controls'></video>";
            $video_str .= $now;
          }
      }
      
      $mail->Body = $email_data['content'].$images_str.$video_str;
      $mail->IsHTML(true); //支持html格式内容
   
      if(!$mail->send()) {
          $this->error('发送失败: ' . $mail->ErrorInfo);
      } else {
          Db::name('email')->where(['id'=>$id])->update(['send_status'=>1]);
          $this->success("发送成功");
      }
  }
     /**
     * 查看
     */
    public function index()
    {
        //当前是否为关联查询
        $this->relationSearch = true;
        //设置过滤方法
        $this->request->filter(['strip_tags']);
        if ($this->request->isAjax()) {
    
            list($where, $sort, $order, $offset, $limit) = $this->buildparams();

            $total = $this->model
                ->with(['user'])
                ->with(['price'])
                ->where($where)
                ->order($sort, $order)
                ->count();

            $list = $this->model
                ->with(['user'])
                ->with(['price'])
                ->where($where)
                ->order($sort, $order)
                ->limit($offset, $limit)
                ->select();
     
            $list = collection($list)->toArray();
            $result = array("total" => $total, "rows" => $list);

            return json($result);
        }
        return $this->view->fetch();
    }


}
